library(tidyverse)
## ── Attaching packages ─────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2     ✓ purrr   0.3.4
## ✓ tibble  3.0.3     ✓ dplyr   1.0.2
## ✓ tidyr   1.1.2     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
surveys_complete <- read_csv("data/surveys_complete.csv")
## Parsed with column specification:
## cols(
##   record_id = col_double(),
##   month = col_double(),
##   day = col_double(),
##   year = col_double(),
##   plot_id = col_double(),
##   species_id = col_character(),
##   sex = col_character(),
##   hindfoot_length = col_double(),
##   weight = col_double(),
##   genus = col_character(),
##   species = col_character(),
##   taxa = col_character(),
##   plot_type = col_character()
## )
survey_plot = ggplot(data = surveys_complete, aes(x = weight, y = hindfoot_length)) 
survey_plot + geom_point()

Challenge 1

library(hexbin)
survey_plot + geom_hex()

compared to scatter plot, hexagonal bin plot is nicer looking but it is not granular.

ggplot(data = surveys_complete, aes(x = weight, y = hindfoot_length)) +
    geom_point(alpha = 0.1, aes(color = species_id))

Challenge 2

ggplot(data = surveys_complete, aes(x = species_id, y = weight)) +
    geom_point(aes(color = plot_type))

ggplot(data = surveys_complete, mapping = aes(x = species_id, y = weight)) +
    geom_boxplot()

ggplot(data = surveys_complete, mapping = aes(x = species_id, y = weight)) +
    geom_boxplot(alpha = 0) +
    geom_jitter(alpha = 0.3, color = "tomato")

ggplot(data = surveys_complete, mapping = aes(x = species_id, y = weight)) +
    geom_violin(alpha = 0) +
    geom_jitter(alpha = 0.3, color = "tomato") +
    scale_y_log10()

surveys_complete %>% 
ggplot(mapping = aes(x= species_id, y = hindfoot_length)) + 
  geom_jitter(alpha = 0.3, aes(color = as.factor(plot_id))) +
  geom_boxplot() +
   scale_y_log10()

yearly_counts <- surveys_complete %>% 
  count(year, genus)
ggplot(data= yearly_counts, aes(x= year, y= n)) + geom_line()

ggplot(data= yearly_counts, aes(x= year, y= n, group= genus, color= genus)) + geom_line() 

yearly_counts %>% 
    ggplot(mapping = aes(x = year, y = n, color = genus)) +
    geom_line()

yearly_counts_graph <- surveys_complete %>%
    count(year, genus) %>% 
    ggplot(mapping = aes(x = year, y = n, color = genus)) +
    geom_line()

yearly_counts_graph

ggplot(data= yearly_counts, aes(x= year, y= n)) + 
  geom_line() +
  facet_wrap(facets = vars(genus))

year_sex_count <- surveys_complete %>% 
  count(year, genus, sex)
ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_wrap(facets = vars(genus))

ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_grid(rows = vars(sex), cols = vars(genus))

ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_grid(rows = vars(genus))

ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_grid(cols = vars(genus))

ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_wrap(facets = vars(genus)) +
  theme_bw()

avg_weight_yearly <- surveys_complete %>% 
  group_by(year, species_id) %>% 
  summarize(avg_weight = mean(weight))
## `summarise()` regrouping output by 'year' (override with `.groups` argument)

Challenge 3

ggplot(data= avg_weight_yearly, mapping = aes(x= year, y= avg_weight)) +
  geom_line() + 
  facet_wrap(facets = vars(species_id)) +
  theme_bw()

ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_wrap(facets = vars(genus)) +
  theme_bw() +
  labs(title= "Observed genera through time", 
       x= "Years of observation", 
       y= "Numbers of individuals")

ggplot(data= year_sex_count, mapping = aes(x= year, y= n, color= sex)) + 
  geom_line() +
  facet_wrap(facets = vars(genus)) +
  theme_bw() +
  labs(title= "Observed genera through time", 
       x= "Years of observation", 
       y= "Numbers of individuals") +
  theme(text = element_text(size = 15))

ggplot(data = year_sex_count, mapping = aes(x = year, y = n, color = sex)) +
    geom_line() +
    facet_wrap(vars(genus)) +
    labs(title = "Observed genera through time",
        x = "Year of observation",
        y = "Number of individuals") +
    theme_bw() +
    theme(axis.text.x = element_text(colour = "grey20", size = 12, angle = 90, hjust = 0.5, vjust = 0.5), axis.text.y = element_text(colour = "grey20", size = 6), strip.text = element_text(face = "italic"), text = element_text(size = 16))

grey_theme <- theme(axis.title.x = element_text(colour="grey20", size = 12, angle = 90, hjust = 0.5, vjust = 0.5), axis.title.y = element_text(colour= "grey20", size= 12), text = element_text(size = 16)) 

ggplot(surveys_complete, aes(x= species_id, y= hindfoot_length)) +
         geom_boxplot() +
         grey_theme

Challenge 4

grey_theme <- theme(axis.title.x = element_text(colour="grey20", size = 12, hjust = 0.5, vjust = 0.5), axis.title.y = element_text(colour= "grey20", size= 12), text = element_text(size = 16)) 

ggplot(surveys_complete, aes(x= species_id, y= weight, color= sex)) +
         geom_boxplot() +
         grey_theme +
  labs(title= "Boxplot of Weight vs species_id", x="Species ID", y= "Weights")